100 REM F$ AND D$ MUST BE FIRST TWO PROGRAM VARIABLES! 110 F$="":DIMD$(200),D%(200):PR=4:ELITE=0:A$="-":B$=":" 120 POKE53280,0:POKE53281,0:FORK=1TO80:BL$=BL$+" ":NEXT:BB$=MID$(BL$,1,9) 130 DIMTP$(4):TP$(1)=" SEQ":TP$(2)=" PRG":TP$(3)=" USR":TP$(4)=" REL" 140 DIME$(2):E$(0)="":E$(1)=" ":E$(2)=" " 150 GOSUB9100:R=12:C=7:GOSUB9000:PRINT"PLEASE WAIT--INITIALIZING"; 160 J=0:FORK=49152TO49364:READN:J=J+N:POKEK,N:NEXT:POKE49248,4 170 IFJ<>29842THENPRINT"ERROR IN DATA STATEMENTS 10000-10110:END 180 J[178]0:[129]K[178]828[164]866:[135]N:J[178]J[170]N:[151]K,N:[130] 190 [139]J[179][177]6665[167][153]"ERROR IN DATA STATEMENTS 20000-20020:END 200 J=0:FORK=50000TO50098:READN:J=J+N:POKEK,N:NEXT 210 IFJ<>14887THENPRINT"ERROR IN DATA STATEMENTS 30000-30050:END 220 [141]9000:[153]BL$ 230 [141]9100:[141] 9200 240 [145] X [137]6500,3000,8500,7100,7200,7500,5500,5000,9999 3000 [141]9100:[153][163]12)"MAKE DISK LABEL":[141]9500:[139]ER[177]19[167]230 3010 [153][163]12)"1) JACKET INSERT" 3020 [153][163]12)"2) FULL JACKET" 3030 [153][163]11)"CHOOSE FORMAT: CMDCMD";:[141]9090:W[178]1:[141]8000:X[178][197](S$) 3040 [139]S$[178]"1"[176]S$[178]"2"[167]3070 3050 [139]S$[178]""[167]230 3060 [153]:[153][163]4)"CHOOSE A NUMBER BETWEEN 1 AND 2ONONON":[137]3030 3070 G[178][197](S$)[171]1 3080 [153][163]4)" TYPE IN OPTIONAL LABEL STRING ":R[178]14:C[178]8:W[178]24:[141]8000 3090 L$[178]S$:FF[178]1 3100 [141]9090:[153][163]11)"READING DIRECTORY":[141]6000 3110 [141]9400:[151]781,R:[158]828:[153][163]16)"PRINTING" 3120 [160]4:[159]4,PR:X$[178]"":[129]K[178]1[164]9:X$[178]X$[170]A$:[130] 3130 Y$[178]B$[170]" ":Z$[178]" "[170]B$:WW[178]54:D$(NF[170]1)[178][202](BL$,1,25):LM[178]22 3140 D$(NF[170]2)[178]D$(NF[170]1):[139]G[167]LM[178]LM[171]4:G[178]G[170]EL:WW[178]WW[170]2[172][195](E$(G)) 3150 [139][195](L$)[179]WW[171]2[172][195](E$(G))[171]29[167]L$[178]L$[170]"CLOSE":[137]3150 3160 F$[178]N$:[158]50046:[141]3500:[141]3600:[139]G[167][152]4,Y$; 3170 L$[178]B$[170]E$(G)[170]" "[170]F$[170]E$(G)[170]" "[170]L$[170]B$:[152]4,L$;:[139]G[167][152]4,Z$; 3180 [152]4:[141]3600:[141]3500:[141]3600:J[178][181](NF[173]2):[139]J[178]0[167]J[178]1 3190 [129]M[178]1[164]J:[139]G[167][152]4,Y$; 3200 F$[178]D$(M):[158]50046:H$[178]F$:F$[178]D$(M[170]J):[158]50046 3210 [152]4,B$;E$(G);H$" "F$;E$(G);B$;:[139]G[167][152]4,Z$; 3220 [152]4:[139]M[179][177]17[176]G[178]0[167]3240 3230 [139]M[179][177]J[167][141]3600:[141]3500:Y$[178]BB$:Z$[178]Y$:[141]3600:FF[178]0 3240 [130]M:[141]3800:[129]M[178]M[164]LM:[141]3600:[130] 3250 [139]FF[167][141]3500:[139]G[178]0[167]3290 3260 [139]G[178]0[167]3290 3270 G[178]0:[129]M[178]M[164]LM[170]27:[152]4,BB$;:[141]3600:[130] 3280 [152]4,BB$;:[141]3500 3290 [152]4:[160]4:[137]230 3500 [139]G[167][152]4,X$; 3510 [129]K[178]1[164]WW:[152]4,A$;:[130]:[139]G[167][152]4,X$; 3520 [152]4:[142] 3600 [139]G[167][152]4,Y$; 3610 [152]4,B$;:[152]4,[202](BL$,1,WW[171]2);:[152]4,B$;:[139]G[167][152]4,Z$; 3620 [152]4:[142] 3800 [141]3600:[139]G[167][152]4,Y$; 3810 X[178](WW[171]17)[173]2:[152]4,B$[202](BL$,1,X)[202](BL$,1,4[171][195]([196](BF))); 3820 [152]4,BF"BLOCKS FREE"[202](BL$,1,WW[171]X[171]17);B$;:[139]G[167][152]4,Z$; 3830 [152]4:M[178]M[170]2:[142] 5000 [141]9100:[153][163]11)"SEND DISK COMMAND" 5010 [153]" TYPE DISK COMMAND AND PRESS RETURN" 5020 R[178]10:C[178]2:W[178]36:[141]8000:[139]S$[178]""[167]230 5030 [141]9500:[152]15,S$:[141]9600 5040 [139]ER[177]19[167][160]15:[137]230 5050 [153]:[153][163]19)"OK":X$[178][202](S$,1,1) 5060 [139]X$[178]"V"[176]X$[178]"S"[176]X$[178]"R"[176]X$[178]"N"[176]X$[178]"C"[167]NN$[178]"" 5070 [160]15:[141]9800:[137]230 5500 [141]9100:[153][163]12)"FORMAT NEW DISK" 5510 [153][163]8)"ENTER NAME FOR NEW DISK": 5520 R[178]10:C[178]11:W[178]16:[141]8000:[139]S$[178]""[167]230 5530 SN$[178]S$:[153]" ENTER UNIQUE TWO CHARACTER DISK ID" 5540 R[178]14:C[178]18:W[178]2:[141]8000:[139]S$[178]""[167]230 5550 [139][195](S$)[179][177]2[167][153]"ONONONONON":[137]5530 5560 SD$[178]S$:[153][163]5)"WARNING! FORMATTING WILL ERASE" 5570 [153][163]5)"ANY EXISTING FILES ON THE DISK!" 5580 [153][163]8)"PROCEED WITH FORMAT?":R[178]19:C[178]30:W[178]1:[141]8000 5590 [139]S$[179][177]"Y"[167]230 5600 [141]9700:[153][163]9)"FORMATTING IN PROGRESS" 5610 [160]15:[159]15,8,15:[152]15,"NEW0:"SN$","SD$:[160]15:NN$[178]"":[137]230 5999 [143] READ DISK DIRECTORY INTO D$ 6000 [141]9500:[139]ER[167]230 6010 [141]8200:T[178]18:S[178]1:[139]N$[178]NN$[175]FP[178]0[167][160]3:[142] 6020 NN$[178]N$:[139]FP[178]0[167]NF[178]0 6030 [152]15,"B-P:3,4":BF[178]0:[129]K[178]1[164]35:[161]#3,X$ 6040 [139]X$[179][177]""[175]K[179][177]18[167]BF[178]BF[170][198](X$) 6050 [161]#3,X$:[161]#3,X$:[161]#3,X$:[130] 6060 TT[178]T:SS[178]S:[152]15,"B-R:3,0";T;S:[152]15,"B-P:3,0" 6070 [161]#3,T$:T[178]0:[139]T$[179][177]""[167]T[178][198](T$) 6080 [161]#3,S$:S[178]0:[139]S$[179][177]""[167]S[178][198](S$) 6090 [129]K[178]0[164]7:[152]15,"B-P:3";K[172]32[170]2:[161]#3,X$:[139]X$[178]""[167]6210 6100 W[178][198](X$):Y$[178]TP$(W[175]7):[139](W[175]128)[179][177]128[167]Y$[178]"*"[170][202](Y$,2) 6110 [139](W[175]64)[178]64[167]Y$[178]Y$[170]"<":[137]6130 6120 Y$[178]Y$[170]" " 6130 [152]15,"B-P:3";K[172]32[170]30:[161]#3,X$:B[178][198](X$):[161]#3,X$ 6140 [139]X$[179][177]""[167]B[178]B[170]256[172][198](X$) 6150 C$[178][202]([196](B),2):[139][195](C$)[179]3[167]C$[178][202](" ",1,3[171][195](C$))[170]C$ 6160 [152]15,"B-P:3";K[172]32[170]5:[158]50000:[139]F$[179][177]FF$[176]FP[178]0[167]6200 6170 [152]15,"B-P:3";K[172]32[170]2:EX[178]0 6180 X[178]W[176]64:[139]FP[178]2[167]X[178]W[175]191 6190 [152]3,[199](X);:[152]15,"B-P:3,0":[152]15,"U2:3,0";TT;SS:[142] 6200 [139]FP[178]0[167]NF[178]NF[170]1:D$(NF)[178]C$[170]" "[170]F$[170]Y$ 6210 [130]K:[139]T[179][177]0[167]6060 6220 [160]3:[160]15:[142] 6500 [141]9100:[153][163]11)"DISPLAY DIRECTORY" 6510 [153][163]11)"READING DIRECTORY":[141]6000:[141]9700 6520 [141]9400:K[178]1 6530 [141]9700:[153][163]11)""N$"":J[178]0:[139]NF[179]1[167]6550 6540 [153][163]7)D$(K):K[178]K[170]1:J[178]J[170]1 6550 [139] K[179][178]NF [175] J[179][177]10 [167]6540 6560 [139]K[177][178]NF[167][153][163]12)""BF"BLOCKS FREE" 6570 [141] 9800:[139]X$[178]"*"[167]230 6580 [139]X$[178]"ON"[176]X$[178]"^"[167]K[178]K[171]20:[139]K[179]1[167]K[178]1 6590 [139](K[179]NF)[176](K[178]1[175]X$[178]"ON")[167]6530 6600 [137]230 7100 FP[178]1:P$[178]"PROTECT":[137]7210 7200 FP[178]2:P$[178]"UNPROTECT" 7210 [141]9100:[153][163]14[171]FP)""P$" FILE":[153][163]3[171]FP)"FILE TO "P$": " 7220 W[178]16:R[178]10:C[178]21:[141]8000:EX[178]1:FF$[178]S$:SX$[178]S$:[139]S$[178]""[167]230 7230 [139][195](FF$)[179]16[167]FF$[178]FF$[170][199](160):[137]7230 7240 [141]6000:[153] 7250 [139]EX[178]0[167][153][163]13[171]FP[171][195](SX$)[173]2)""SX$" IS NOW "P$"ED":NN$[178]"":[137]7270 7260 [153][163]11[171][195](SX$)[173]2)""SX$" IS NOT ON THE DISK" 7270 FP[178]0:[160]3:[160]15:[141]9800:[137]230 7500 [141]9100:[153][163]14)"RENAME DISK":[141]9500:[139]ER[177]19[167]230 7510 [141]8200:[153][163]11[171][195](N$)[173]2)"CURRENT DISK NAME: "N$ 7520 [153][163]7)"PLEASE INPUT NEW DISK NAME":R[178]13:C[178]12:W[178]16:[141]8000 7530 [139][195](S$)[178]0[167][160]3:[160]15:[137]230 7540 [139][195](S$)[179]16[167]S$[178]S$[170][199](160):[137]7540 7550 [152]15,"B-P:3,144":[152]3,S$;:[152]15,"U2:3,0,18,0":[160]3 7560 [141]9600:[139]ER[177]19[167][160]3:[160]15:[137]230 7570 [153]:[153][163]9)"DISK HAS BEEN RENAMED":[152]15,"I0:":[160]15 7580 [129]K[178]1[164]3000:[130]:[137]230 8000 [141]9000:[153]"CMD>"[202](BL$,1,W)"WAIT<";:[141]9000:N[178]0:S$[178]"" 8010 [151]204,0:[161]X$:[139]X$[178]""[167]8010 8020 [151]204,1:[151]212,0:X[178][198](X$):[139]X[179][177]13[167]8050 8030 [153]" ";:[139][195](S$)[178]W[167][153]"CMDWAIT<"; 8040 [153]:[142] 8050 [139]X[179][177]20[176]N[178]0[167]8090 8060 N[178]N[171]1:S$[178][202](S$,1,N):[141]9000:[153]""S$;:[151]212,0:[153]"CLOSECLOSECMD"; 8070 [139][195](S$)[178]W[171]1[167][153]"WAIT<"; 8080 C[178]C[170]N:[141]9000:C[178]C[171]N:[137]8010 8090 [139]N[178]W[167]8010 8100 [139](X[177]31[175]X[179]129)[176](X[177]161)[167][153]X$;:S$[178]S$[170]X$:N[178]N[170]1 8110 [137]8010 8200 [160]3:[159]3,8,3,"#":N$[178]"":[152]15,"U1:3,0,18,0":[152]15,"B-P:3,144" 8210 [129]K[178]1[164]16:[161]#3,X$:[139][198](X$)[178]160[167]X$[178]"CLOSE" 8220 N$[178]N$[170]X$:[130]:[161]#3,X$:[161]#3,X$:[161]#3,X$:[161]#3,Y$:N$[178]N$[170]" ("[170]X$[170]Y$[170]")" 8230 [142] 8500 [141]9100:[153][163]13)"CLEAN UP DISK" 8510 F2[178]0:[153][163]11)"READING DIRECTORY":[141]6000 8520 [141]9400:[129]K[178]1[164]NF:D%(K)[178]0:[130]:R[178]11:C[178]29:W[178]1:K[178]1 8530 [141]9700:[153][163]7)""D$(K) 8540 [153][163]8)"DELETE THIS FILE? ";:[141]8000:[139]S$[178]""[167]230 8550 [139]S$[178]"Y"[167]D%(K)[178]1:F2[178]1 8560 [139]S$[178]"*"[167]8580 8570 K[178]K[170]1:[139]K[179][178]NF[167]8530 8580 [141]9700:[153][163]7)"VALIDATE THE DISK?CLOSE":[141]8000:[139]S$[178]""[167]230 8590 [139]F2[167][141]9700:[153][163]12)"DELETING FILES" 8600 [160]15:[159]15,8,15:[129]K[178]1[164]NF 8610 [139]D%(K)[178]0[167]8660 8620 F$[178][202](D$(K),5,16):I[178]1 8630 [139][198]([202](F$,I,1))[178]160[167]F$[178][202](F$,1,I[171]1):[137]8650 8640 I[178]I[170]1:[139]I[179][178]16[167]8630 8650 [152]15,"S0:"[170]F$ 8660 [130]:[139]F2[176]S$[178]"Y"[167] NN$[178]"" 8670 [139]S$[178]"Y"[167][141]9700:[153][163]14)"VALIDATING":[152]15,"V0:" 8680 [160]15:[137]230 9000 [151]783,0:[151]781,R:[151]782,C:[158]65520:[142] 9080 [143] GET CURSOR POSITION 9090 [151]783,1:[158]65520:R[178][194](781):C[178][194](782):[142] 9100 [153]"LOAD"[163]12)"ORTANTANTANTANTANTANTANTANTANTANTANTANTAN^":[153][163]12)"PEEK DISK KEEPER PEEK" 9110 [153][163]12)"/TANTANTANTANTANTANTANTANTANTANTANTANTANEXP":[142] 9200 R[178]6:C[178]2:[141]9000:X[178]10 9210 [153][163]X)"1) DISPLAY DIRECTORY" 9220 [153][163]X)"2) MAKE DISK LABEL" 9230 [153][163]X)"3) CLEAN UP DISK" 9240 [153][163]X)"4) PROTECT FILE" 9250 [153][163]X)"5) UNPROTECT FILE" 9260 [153][163]X)"6) RENAME DISK" 9270 [153][163]X)"7) FORMAT NEW DISK" 9280 [153][163]X)"8) SEND DISK COMMAND" 9290 [153][163]X)"9) EXIT" 9300 [153][163]13)"SELECTION: CMDCMD";:[141]9090:W[178]1:[141]8000:X[178][197](S$) 9310 [139]X[177]0[175]X[179]10[167][142] 9320 [153]:[153]""[163]4)"CHOOSE A NUMBER BETWEEN 1 AND 9ONONONON":[137] 9300 9400 N2[178][181](NF[173]256):N1[178]NF[171]N2[172]256:[151]49366,N1:[151]49367,N2:[158]49152:[142] 9500 [160]15:[159]15,8,15,"IO:":[141]9600:[142] 9600 [132]15,ER,ER$:[139]ER[179]20[167][142] 9610 X[178]14[171][195](ER$)[173]2:[139]X[179]0[167]X[178]0 9620 [153][163]X)"DISK ERROR: "ER$ 9630 [139]ER[178]21[176]ER[178]74[167][153]" MAKE SURE DISK IS IN DRIVE" 9640 [141] 9800 9700 [151]781,7:[158]828:[142] 9800 R[178]22:C[178]0:[141]9000:[153]" PRESS ANY KEY TO CONTINUE":[151]198,0 9810 [161]X$:[139]X$[178]""[167]9810 9820 [142] 9999 [153]"LOAD":[160]3:[160]15:[128] 10000 [131] 173,214,192,208,6,173,215,192,208,1,96,165,47,24,105,10,133,34,165 10010 [131] 48,105,0,133,35,76,163,192,160,0,177,34,72,177,36,145,34,104,145,36 10020 [131] 200,192,3,208,241,76,116,192,169,0,141,218,192,168,177,34,240,59 10030 [131] 141,213,192,177,36,240,219,205,213,192,176,8,141,213,192,169,1,141 10040 [131] 218,192,200,177,34,133,251,177,36,133,253,200,177,34,133,252,177,36 10050 [131] 133,254,160,0,177,253,209,251,144,180,208,11,200,206,213,192,208 10060 [131] 242,173,218,192,208,167,165,36,24,105,3,133,36,165,37,105,0,133,37 10070 [131] 173,216,192,208,3,206,217,192,206,216,192,173,216,192,208,158,173 10080 [131] 217,192,208,153,165,34,24,105,3,133,34,165,35,105,0,133,35,173,214 10090 [131] 192,208,3,206,215,192,206,214,192,173,214,192,208,6,173,215,192,208 10100 [131] 1,96,173,214,192,141,216,192,173,215,192,141,217,192,165,34,24,105 10110 [131] 3,133,36,165,35,105,0,133,37,76,47,192 20000 [131] 160,0,24,32,240,255,165,209,133,251,165,210,133,252,169,232,197,251 20010 [131] 208,7,169,7,197,252,208,1,96,169,32,145,251,230,251,208,235,230,252 20020 [131] 208,231 30000 [131] 162,3,32,198,255,162,0,160,16,32,228,255,201,13,208,2,169,160,157 30010 [131] 179,195,232,136,208,240,32,204,255,32,165,195,169,16,145,251,200 30020 [131] 169,179,145,251,200,169,195,145,251,96,32,165,195,160,0,177,251,170 30030 [131] 200,177,251,133,253,200,177,251,133,254,160,0,232,202,208,1,96,177 30040 [131] 253,201,160,208,4,169,32,145,253,200,76,147,195,24,165,45,105,2,133 30050 [131] 251,165,46,105,0,133,252,96